home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / com / computer / casio_st / prog_fx / volumes / fxvol1.asc next >
Text File  |  1994-03-01  |  28KB  |  913 lines

  1.                 VOLUME 1
  2.     *** PROGRAMMES CASIO FX 850P ***
  3.      (c) W-Tel RTC (16) 62 93 74 05
  4.  
  5. VOUS  VENEZ  DE TELECHARGER  LE  FICHIER 
  6. FXVOL1.LST  SUR  W-TEL.  CES  PROGRAMMES 
  7. SONT FACILEMENT ADAPTABLES SUR  D'AUTRES 
  8. MICRO.
  9.  
  10. VOUS  POUVEZ SOIT RE-TAPER CES  PRG  SUR 
  11. VOTRE MICRO,  SOIT A L'AIDE DU  LOGICIEL 
  12. TRANSFILE ST850 LES CHARGER  DIRECTEMENT 
  13. SUR  LE CASIO FX850P.  CE  LOGICIEL  EST 
  14. DISTRIBUE PAR OMIKRON FRANCE AU PRIX  DE 
  15. 500FRS ENVIRON.
  16.  
  17. SI  VOUS  AVEZ ECRIT UN SOFT  SUR  CASIO 
  18. FX850P  VENEZ LE METTRE SUR W-TEL  24/24 
  19. AU 62.93.74.05 (BAL WILLY).
  20.  
  21.  
  22.           SOMMAIRE DU VOLUME 1
  23.  
  24. ADRESSES  SYSTEME ET ORGANISATION DE  LA 
  25. RAM.
  26.  
  27. programme Course
  28.  
  29. programme d‚riv‚e
  30.  
  31. programme Gestion
  32.  
  33. programme jour de la date
  34.  
  35. programme pendu
  36.  
  37. programme poursuite
  38.  
  39. programme Simplex
  40.  
  41. programme simplification fraction
  42.  
  43. programme  Zero  polynome degre  N  avec 
  44. complexe
  45.  
  46. programme d'animation.
  47.  
  48. Programme de conversion base 10<> base N 
  49. (N>1)
  50.  
  51. Biorythme classique.
  52.  
  53. Programme  d'exploration  de la  RAM  et 
  54. ROM.
  55.  
  56. Programme de transformation d'un r‚el en 
  57. fraction. TrŠs rapide !
  58.  
  59. Nombres al‚atoires.
  60.  
  61. TrŠs   utile  pour  savoir   le   nombre 
  62. d'octets que prennent les programmes  et 
  63. le MEMO.
  64.  
  65. Petit pr‚sentation sympa...
  66.  
  67. Voici  le  pro des  pro:  Transfert  des 
  68. programmes LIB en P0.
  69.  
  70. Pour voir le pass de votre Casio
  71.  
  72. Petit  programme qui  d‚veloppe  (a+b)^n 
  73. avec n<10
  74.  
  75. Programme pour que PIELB trouve sa bien-
  76. aim‚e
  77.  
  78. Programme de cr‚ation de caractŠres.
  79.  
  80. La suite dans VOLUME 2....(disponible)
  81.  
  82.  
  83. ********************************
  84.  
  85. Voici la m‚moire du Casio Fx 850p:
  86.  
  87. ADRESSES  SYSTEME ET ORGANISATION DE  LA 
  88. RAM.
  89.  
  90. Adresses  System de 0 a 2933  (&h0000  a 
  91. &h0B7F)
  92.  
  93. 0000-0255      memoire   virtuelle    de 
  94. l'affichage
  95. 0257-0259      pointeur  sur  debut   de 
  96. fichier GOSUB/FOR pile
  97. 0292-0352      pile   des   niveaux   de 
  98. parentheses
  99. 0512-0767      tampon d'entree  &h00=fin 
  100. de l'entree
  101. 0768-1023      memoire     intermediaire 
  102. pour calculs de fonctions (CALC/VALF)
  103. 1024-1279      memoire   des   fonctions 
  104. pour CALC
  105. 1545-1552      chiffre   "LIB"/nom    de 
  106. fichier
  107. 1582-1597      representation       d'un 
  108. nombre (PRINT)
  109. 1670-1672      pointeur:debut  de   zone 
  110. fichiers/debut de pile
  111. 1673-1675      pointeur:fin   de    zone 
  112. fichiers
  113. 1676-1678      pointeur:fin de pile
  114. 1679-1681      pointeur:debut    donnees 
  115. "batch"
  116. 1682-1684      pointeur:fin      donnees 
  117. "batch"/debut de zone FOR
  118. 1685-1687      pointeur:fin   de    zone 
  119. FOR/debut de zone GOSUB
  120. 1688-1690      pointeur:fin   de    zone 
  121. GOSUB/fin   de   pile/debut   de    pile 
  122. variables/debut    zone    chaine     de 
  123. caracteres
  124. 1691-1693      pointeur:fin   de    zone 
  125. chaines de caracteres
  126. 1694-1696      pointeur:debut  de   zone 
  127. nombres
  128. 1697-1699      pointeur:fin   de    zone 
  129. nombres/debut de zone noms
  130. 1700-1702      pointeur:fin   de    pile 
  131. variables/debut de zone programmes basic
  132. 1703-1705      pointeur:fin   de    zone 
  133. programme basic/debut de zone MEMO
  134. 1706-1708      pointeur:fin de zone MEMO
  135. 1709-1711      pointeur:fin de RAM libre
  136. 1712-1714      pointeur:debut         du 
  137. sommaire zones basic (P0-P9)
  138. 1715-1717      pointeur:fin du  sommaire 
  139. zones basic/fin de RAM
  140. 1718-1720      pointeur:debut         de 
  141. sommaire LIB0:
  142. 1721-1723      programme actuellement en 
  143. LIB0:
  144. 1724-1726      pointeur:fin de  sommaire 
  145. LIB0:
  146. 1727-1729      pointeur:debut         de 
  147. sommaire LIB1:
  148. 1730-1732      porgramme actuellement en 
  149. LIB1:
  150. 1733-1735      pointeur:fin de  sommaire 
  151. LIB1:
  152. 1747-1749      pointeur:sur    nom    de 
  153. variable si affectation d'une valeur
  154. 1750-1752      pointeur:continuer  apres 
  155. STOP
  156. 1771-1773      pointeur:sur  zone  basic 
  157. actuelle
  158. 1774-1775      pointeur:numero de ligne
  159. 1776-1778      pointeur:sur  instruction 
  160. en cours
  161. 1867-1874      mot de passe
  162. 1878-2133      tampon  de  sortie   pour 
  163. CALC
  164. 2176-2933      pile                 pour 
  165. fichiers/FOR/GOSUB
  166.  
  167.  
  168.  
  169. ++++++++++++++++++++++++++++++++++++++
  170. programme Course:
  171.  
  172. Ce  petit programme me sert …  faire  le 
  173. calcul de mes courses au super march‚.
  174.  
  175. 1 SET F2:CLS:PRINT "Prix=";PR;TAB(16);"Total=";T;CHR$(13);:PR=0:PRINT "Prix:";:INPUT@(20);PR:T=T+PR:GOTO 10
  176.  
  177.  
  178. ++++++++++++++++++++++++++++++++++++++
  179. programme d‚riv‚e
  180.  
  181. CE  PROGRAMME  CALCUL LA  DERIVEE  D'UNE 
  182. FONCTION EN X0.
  183. LA FONCTION EST ENTREE EN PREMIER,  PUIS 
  184. ENTREZ X0. TAPEZ E POUR FINIR.
  185. EX:   F(X)=COSX  ET  X0=0  D'OU  F'(0)=0 
  186. (METTEZ VOUS EN RADIAN !!!)
  187.  
  188. 1 REM DERIVE EN X0
  189. 2 REM (C) WILLYTEL JUIN 89
  190. 3 REM 24H/7H AU 62.93.74.05
  191. 9 REM chr$(26):jap on, chr$(27):jap off
  192. 10 MODE5:PRINT "E=END":CLS:PRINT "Calcul de derivee";CHR$(13);:INPUT "Fonction F(X)=";F$
  193. 20 CLS:PRINT "F(X)=";F$;CHR$(13);:INPUT "X0=";X$:X=VALF(X$):IF X$="E" THEN PRINT "END.";CHR$(13);:MODE4:END
  194. 30 X0=X:F0=VALF(F$):X=X+X*1E-8+1E-10:F=VALF(F$):F=(F0-F)/(X0-X):X=X0
  195. 40 A$="F'("+X$+")=":PRINT A$;F:GOTO 20
  196.  
  197.  
  198. ++++++++++++++++++++++++++++++++++++++
  199. programme Gestion
  200.  
  201. 1 REM GESTION DE COMPTE SIMPLE
  202. 2 REM (C) WILLYTEL 89
  203. 3 REM 24H/7H AU 62.93.74.05
  204. 4 REM ATTENTION CE PROGAMME UTILISE LA Function Memory AFIN DE GARDER LE SOLDE EN MEMOIRE.
  205. 5 REM N'UTILISEZ DONC PAS CELLE-CI AU RISQUE DE PERDRE VOTRE SOLDE !!!
  206. 10 DIM SO(9):SOLDE=0:SET F2
  207. 20 FOR X=1024TO1033
  208. 30 I=X-1024:SO(I)=PEEK(X)
  209. 40 NEXT X
  210. 50 FOR I=0 TO 8
  211. 60 SOLDE=SO(I)*100^(I)+SOLDE
  212. 70 NEXT I
  213. 80 SOLDE=SOLDE/100*(-2*SO(9)+1)
  214. 90 CLS:LOCATE0,0:PRINT "SOLDE:";SOLDE;:LOCATE0,1:PRINT "OPERATION:";:INPUT@(9);OP
  215. 95 IF ABS(SOLDE+OP)>1E10 THEN PRINT "DEPASSEMENT CAPACITE !!!":GOTO 90
  216. 100 SOLDE=SOLDE+OP:OP=0
  217. 110 IF SOLDE<0 THEN POKE 1033,1
  218. 120 IF SOLDE>0 THEN POKE 1033,0
  219. 130 FOR I=1024 TO 1032: A=INT(FRAC(ABS(SOLDE)/100^(I-1024))*100):POKE I,A:NEXT I:GOTO 90
  220.  
  221.  
  222. ++++++++++++++++++++++++++++++++++++++
  223. programme jour de la date
  224.  
  225. VOUS  POURREZ  AVEC CE  PETIT  PROGRAMME 
  226. CALCULER LE JOUR DE VOTRE NAISSANCE.
  227. EX: LE 02/03/1968 ETAIT UN SAMEDI
  228. LE 01/01/2000 SERA UN SAMEDI.
  229. CE  PROGRAMME EST GARANTIS 100%  JUSQU'A 
  230. L'AN 9999.
  231.  
  232. 1 ON ERROR GOTO 200
  233. 2 REM JOUR DE LA DATE
  234. 3 REM TELECHARGE SUR WILLYTEL
  235. 4 REM 24H/7H AU 62.93.74.05
  236. 10 DIM A$(6):RESTORE 110:FOR I=0 TO 6:READ A$(I):NEXT I
  237. 20 INPUT "Date:JJ/MM/AAAA ";B$:T=VAL (MID$(B$,1,2)):M=VAL(MID$(B$,4,2))
  238. 30 J=VAL(MID$(B$,7,4)):IF J<1582 PRINT "Erreur/Entree":GOTO 20
  239. 40 IF M>2 THEN M=M-2:GOTO 60
  240. 50 M=M+10:J=J-1
  241. 60 H=INT(J/100):J=J-100*H:W=INT(J/4) +INT(H/4)+INT((13*M-1)/5)+T+J-2*H
  242. 70 IF W>0 THEN W=W-7*INT(W/7):GOTO 90
  243. 80 IF W<0 THEN W=W+7:GOTO 80
  244. 90 PRINT B$+" : "+A$(W):GOTO 20
  245. 100 REM DATAs
  246. 110 DATA "Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"
  247. 200 PRINT "Error";:FOR X=1 TO 200: NEXT X:PRINT CHR$(13);:RESUME 1
  248.  
  249.  
  250. ++++++++++++++++++++++++++++++++++++++
  251. programme pendu
  252.  
  253. 1 REM (C) WILLYTEL 89
  254. 2 REM TELECHARGEMENT 24H/7H
  255. 3 REM AU 62.93.74.05
  256. 4 REM PENDU
  257. 5 PRINT CHR$(9);
  258. 10 CLS:PRINT "* PENDU sur Casio (c) WILLYTEL *";"   Tapez sur une touche SVP";
  259. 20 A$=INKEY$:IF A$="" THEN 20
  260. 25 P=0
  261. 30 CLS:PRINT "Patientez SVP...";: RESTORE#:X=INT(RAN#*40)
  262. 35 ON ERROR GOTO 60
  263. 40 READ# N$:N=INT(40*RAN#):IF N<>X THEN 40
  264. 50 GOTO 70
  265. 60 RESUME 30
  266. 70 L=LEN(N$)
  267. 80 A$=RIGHT$("--------------------------------",L)
  268. 90 CLS:LOCATE 0,0:PRINT A$;
  269. 100 LOCATE 0,1:PRINT "VOTRE CHOIX:";: INPUT@2;R$
  270. 105 B=0
  271. 110 IF R$=LEFT$(N$,1) THEN A$=R$+RIGHT$(A$,L-1):B=1
  272. 112 IF R$=RIGHT$(N$,1) THEN A$=LEFT$(A$,L-1)+R$:B=1
  273. 113 IF L<3 THEN 150
  274. 115 FOR I= 2 TO L-1
  275. 120 IF R$=MID$(N$,I,1) THEN A$=LEFT$(A$,I-1)+R$+RIGHT$(A$,L-I):B=1
  276. 140 NEXT I
  277. 150 IF N$=A$ THEN 200
  278. 155 IF B=1 OR R$="" THEN 90
  279. 160 P=P+1
  280. 170 CLS:LOCATE 0,0
  281. 180 PRINT "RESTE:";8-P;"COUP(S)":IF P=8 THEN BEEP1:CLS:PRINT "PERDU !!!":PRINT "C'ETAIT:";N$:GOTO 1
  282. 190 GOTO 90
  283. 200 CLS
  284. 210 PRINT "VOUS AVEZ GAGNE !!!";CHR$(13);"->";A$:GOTO 1
  285.  
  286.  
  287. ++++++++++++++++++++++++++++++++++++++
  288. programme poursuite
  289.  
  290. 1 CLS:PRINT "       POURSUITE INFERNALE              (c) W-TEL JANV 90";:FOR I=1TO200:NEXT I:GOSUB 900
  291. 2 P$=CHR$(140):M$=CHR$(241)
  292. 3 CLS:PRINT P$;":c'est vous !";CHR$(13);M$;":c'est le monstre !"
  293. 4 PRINT "Vous devez l'eviter grace aux touches 8,6,2,4.":PRINT "8:haut,2:bas, 6:droite,4:gauche  
  294. 7,9,1,3:diagonales"
  295. 5 PRINT "La partie est chronometree. Le compteur s'affiche en bas.":PRINT "Tous les 50 le monstre saute.   Tous 
  296. les 100 vous sautez !"
  297. 6 PRINT "MANGER LE * ET VOUS GAGNER 100"
  298. 7 PRINT "Bonne Chance.... Essayez quand meme la touche 5"
  299. 8 REM
  300. 9 REM (c)W-TEL 24/24 62.93.74.05
  301. 10 CLS:PRINT "READY ? PRESS [EXE]":GOSUB 920
  302. 15 CLS
  303. 20 X=INT(RAN#*30):Y=0:MX=RAN#*30: MY=1:T=0:LX=INT(RAN#*30):LY=INT (RAN#*2)
  304. 25 LOCATE X,Y:PRINT P$;:LOCATE MX,MY:PRINT M$;:LOCATE LX,LY:PRINT "*";
  305. 30 A$=INKEY$:T=T+1
  306. 31 IF T/100=INT(T/100) THEN A$="5"
  307. 32 IF T/50=INT(T/50) THEN 40
  308. 35 XX=0:YY=0:XM=0:YM=0
  309. 36 IF X-MX<>0 THEN XM=(X-MX)/ABS(X-MX)/0.9:MX=MX+XM
  310. 37 IF Y-MY<>0 THEN YM=(Y-MY)/ABS(Y-MY)/5:MY=MY+YM
  311. 38 IF MX<0 OR MX>30 THEN MX=MX-XM:XM=0
  312. 39 IF MY<0 OR MY>1 THEN MY=MY-YM:YM=0
  313. 40 IF A$="8" THEN YY=-1:XX=0
  314. 45 IF A$="3" THEN XX=1:YY=1
  315. 50 IF A$="2" THEN YY=+1:XX=0
  316. 55 IF A$="1" THEN XX=-1:YY=1
  317. 60 IF A$="6" THEN XX=+1:YY=0
  318. 65 IF A$="7" THEN XX=-1:YY=-1
  319. 70 IF A$="4" THEN XX=-1:YY=0
  320. 75 IF A$="9" THEN XX=1:YY=-1
  321. 76 IF A$="5" THEN XX=INT(RAN#*30)-X:YY=INT(RAN#*2)-Y
  322. 80 X=X+XX:IF X<0 OR X>30 THEN X=X-XX:XX=0
  323. 90 Y=Y+YY:IF Y<0 OR Y>1 THEN Y=Y-YY:YY=0
  324. 91 IF T/50=INT(T/50) THEN XM=RAN#*30-MX:YM=INT(RAN#*2)-MY:MX=MX+XM:MY=MY+YM
  325. 92 LOCATE 15,1:PRINT T;
  326. 95 LOCATE X-XX,Y-YY:PRINT " ";
  327. 96 LOCATE MX-XM,MY-YM:PRINT " ";
  328. 97 LOCATE LX,LY:PRINT "*";
  329. 99 LOCATE MX,MY:PRINT M$;
  330. 100 LOCATE X,Y:PRINT P$;
  331. 110 IF X=LX AND Y=LY THEN T=T+100:BEEP1:LX=INT(RAN#*30): LY=INT(RAN#*2)
  332. 120 IF X<>INT(MX) OR Y<>INT(MY) THEN 30
  333. 130 IF X=INT(MX) AND Y=INT(MY) THEN BEEP0:BEEP1:BEEP0:CLS:PRINT "PERDU !!!":GOTO 200
  334. 200 PRINT "T=";T:IF T>MT THEN MT=T
  335. 210 PRINT "MT=";MT:GOSUB 920:CLS:GOTO 10
  336. 900 FOR X=0 TO 30:FOR Y=0 TO 1:LOCATE X,Y:PRINT CHR$(135);:NEXT Y:NEXT X
  337. 920 FOR X=0 TO 30:FOR Y=0 TO 1:LOCATE X,Y:PRINT " ";:NEXT Y:NEXT X
  338. 930 RETURN
  339.  
  340.  
  341. +++++++++++++++++++++++++++++++++++++
  342. programme Simplex
  343.  
  344. CE  PROGRAMME  PERMET  D'OPTIMISER   DES 
  345. PROBLEMES  EN  UTILISANT LA  METHODE  DU 
  346. SIMPLEX A PARTIR DES EQUATIONS MODIFIEES 
  347. (VARIABLES PROPRES, D'ECARTS,...ETC).
  348.  
  349. Z EST LA FONCTION A OPTIMISER.
  350. X(i) SONT LES VECTEURS DE LA BASE.
  351.  
  352. LE  PRG VOUS DEMANDE S'IL  FAUT  EFFACER 
  353. LES  VARIABLES  POUR  RE-INITIALISER  LE 
  354. PRG, REPONDRE O.
  355. ENTRER LE NBRE DE VARIABLES TOTAL,  PUIS 
  356. LE NBRE D'EQUATIONS.
  357. VIENS  ENSUITE LA SAISI  DES  EQUATIONS:     
  358. -D'ABORD LES COEF DES EQUATIONS PUIS  LE 
  359. RESULTAT.
  360.  
  361. ENFIN   VOUS   SAISISSEZ   LA   FONCTION 
  362. ECONOMIQUE.
  363.  
  364. LES X(i) SONT LES VECTEURS DE LA BASE DE 
  365. DEPART.
  366.  
  367. LE  PRG VA ENSUITE EXTRAIRE  UN  VECTEUR 
  368. PUIS   EN   FAIRE  RENTRER   UN   AUTRE. 
  369. L'OPTIMISATION  EST  OBTENU  LORSQUE  LE 
  370. VECTEUR SORTANT=VECTEUR RENTRANT.
  371. POUR AVOIR LA METHODE COMPLETE ECRIVEZ A 
  372. SAINT-CRICQ WILLIAM,  98AVENUE DU RGT DE 
  373. BIGORRE, 65000 TARBES.
  374.  
  375. 1 REM METHODE DU SIMPLEX
  376. 2 REM (C) WILLYTEL JUIN 89
  377. 3 REM 24H/7H AU 62.93.74.05
  378. 10 REM ENTREE VALEURS
  379. 15 A$="":INPUT "CLEAR ALL ?";A$:IF A$="O" THEN CLEAR
  380. 20 INPUT "Nombre de var:";NVAR
  381. 30 INPUT "Nombre d'equation:";NEQ
  382. 40 XX=NVAR+3
  383. 50 YY=NEQ+1
  384. 60 DIM T(XX,YY)
  385. 70 DIM R(YY)
  386. 80 REM ENTREE TABLEAU
  387. 90 FOR Q=1 TO YY-1
  388. 100 FOR P=3 TO XX-1
  389. 110 PRINT P-2;" ";Q;CHR$(13);:INPUT "Coef eq:";T(P,Q)
  390. 120 NEXT P
  391. 130 INPUT "Resultat:";T(P,Q)
  392. 140 NEXT Q
  393. 150 REM ENTREE Z
  394. 160 FOR P=3 TO XX-1
  395. 170 PRINT P-2;CHR$(13);:INPUT "Coef Z:";T(P,YY)
  396. 180 NEXT P
  397. 190 REM ENTREE SOLUTION BASE
  398. 200 FOR P=1 TO YY-1
  399. 210 INPUT "X(i)?:";T(2,P)
  400. 220 T(1,P)=T(T(2,P)+2,YY)
  401. 230 T(XX,YY)=T(XX,YY)+T(1,P)*T(XX,P)
  402. 240 NEXT P
  403. 250 GOSUB 580
  404. 260 REM CALCUL Z MAX
  405. 270 MZ=0
  406. 280 FOR P=3 TO XX-1
  407. 290 IF T(P,YY)>MZ THEN MZ=T(P,YY):J=P
  408. 300 NEXT P
  409. 310 PRINT "Vecteur entre:";J-2
  410. 320 REM CAL VECT SORT
  411. 330 MIN=9*10^30
  412. 340 FOR P=1 TO YY-1
  413. 350 IF T(J,P)=0 THEN R(P)=9*10^30
  414. 360 IF T(J,P)<>0 THEN R(P)=T(XX,P)/T(J,P)
  415. 370 IF R(P)>0 AND R(P)<MIN THEN MIN=R(P):L1=P
  416. 380 NEXT P
  417. 390 PRINT "Vecteur sortant:";T(2,L1)
  418. 400 T(2,L1)=J-2
  419. 410 T(1,L1)=T(T(2,L1)+2,YY)
  420. 420 PAS1=T(J,L1)
  421. 430 FOR P=3 TO XX
  422. 440 T(P,L1)=T(P,L1)/PAS1
  423. 450 NEXT P
  424. 460 FOR P=1 TO YY-1
  425. 470 IF T(J,P)=0 OR P=L1 THEN GOTO 520
  426. 480 CO=T(J,P)
  427. 490 FOR Q=3 TO XX
  428. 500 T(Q,P)=T(Q,P)-CO*T(Q,L1)
  429. 510 NEXT Q
  430. 520 NEXT P
  431. 530 CC=T(J,YY)
  432. 540 FOR P=3 TO XX-1
  433. 550 T(P,YY)=T(P,YY)-T(P,L1)*CC
  434. 560 NEXT P
  435. 570 T(XX,YY)=T(XX,YY)+T(XX,L1)*CC
  436. 575 GOSUB 580:GOTO 260
  437. 580 REM AFFICHAGE
  438. 590 FOR P=1 TO YY
  439. 600 FOR Q=1 TO XX
  440. 610 PRINT T(Q,P);" ";
  441. 620 NEXT Q
  442. 630 PRINT" "
  443. 640 NEXT P
  444. 650 INPUT "Encore?";A$
  445. 660 RETURN
  446.  
  447.  
  448. +++++++++++++++++++++++++++++++++++++
  449. programme simplification fraction
  450.  
  451. VOUS   POURREZ   REDUIRE   TOUTES    LES 
  452. FRACTIONS QUE VOUS VOUDREZ.
  453. A   ETANT   LE  NUMERATEUR   ET   B   LE 
  454. DENOMINATEUR.
  455. EX: 123/321=41/107
  456.  
  457. 1 REM SIMPLIFRAC
  458. 2 REM TELECHARGE SUR WILLYTEL
  459. 3 REM 24H/7H AU 62.93.74.05
  460. 10 PRINT "SIMPLIF FRACTIONS A/B";CHR$(13);
  461. 20 INPUT "A:";A:INPUT "B:";B
  462. 30 PRINT A;"/";B;"=";CHR$(13);
  463. 40 G=A:H=B:GOSUB 100
  464. 50 G=G/D:H=H/D
  465. 60 PRINT G;"/";H:GOTO 10
  466. 100 IF A<B THEN T=A:A=B:B=T
  467. 110 R=A-B*INT(A/B)
  468. 120 IF R=0 THEN D=B:RETURN
  469. 130 A=B:B=R:GOTO 110
  470.  
  471.  
  472. ++++++++++++++++++++++++++++++++++++
  473. programme  Zero  polynome degre  N  avec 
  474. complexe
  475.  
  476. CE  PROGRAMME  PERMET  DE  TROUVER   LES 
  477. RACINES   REELLES  ET   COMPLEXES   D'UN 
  478. POLYNOME DE DEGRE N.
  479. n EST LE DEGRE DU POLYNOME.
  480. a  0  EST LE COEF DE X^0,  a 1  DE  X^1, 
  481. AINSI DE SUITE.
  482. EX: 5X^3-4X^2+3X^1-2=0
  483. DONNE LES SOLUTIONS SUIVANTES:
  484. 0.5904893191 +/- 0.8374067097 j
  485. x=-0.380979131
  486. avec f(x)=-4.05304E-06
  487.  
  488. 1 REM RESOLUTION POLYNOME DE DEGRE N
  489. 2 REM TELECHARGE SUR WILLYTEL
  490. 3 REM 24H/7H AU 62.93.74.05
  491. 10 CLS:PRINT "P=a0+a1x+a2x^2+...+anx^n";CHR$(13);
  492. 15 CLEAR :INPUT "n=";G:F=G:DIM A(G),B(G),C(G),D(G):FOR I=G TO 0 STEP-1:PRINT "a";I;:INPUT "=";A(I):NEXT I
  493. 20 FOR I=G TO 0 STEP-1:IF A(I)>=0 THEN S$="+" ELSE S$="-"
  494. 30 A$=STR$(A(I)):I$=STR$(I):LA=LEN(A$): LI=LEN(I$):A$=RIGHT$(A$,LA-1): I$=RIGHT$(I$,LI-1)
  495. 40 P$=P$+S$+A$+"x^"+I$:NEXT I:CLS: PRINT P$+"=0"
  496. 50 P=1E-4:N=1E-9:FOR I=G TO 0 STEP-1:D(I)=A(I):NEXT I:IF G<=2 GOTO 190
  497. 60 A=0:H=1:K=-1:B(G)=A(G):C(G)=A(G)
  498. 70 B(G-1)=B(G)*H+A(G-1):C(G-1)=B(G-1)+B(G)*H
  499. 80 FOR I=G-2 TO 0 STEP-1:B(I)=B(I+2)*K+B(I+1)*H+A(I): C(I)=C(I+2)*K+C(I+1)*H+B(I):NEXT I
  500. 90 C=C(2)*C(2)-C(1)*C(3):IF C=0 THEN PRINT "Autres Val.Dep":END
  501. 100 O=H-(B(1)*C(2)-B(0)*C(3))/C:D=K-(B(0)*C(2)-B(1)*C(1))/C
  502. 110 IF ABS(B(0))<P AND ABS(B(1))<P GOTO 150
  503. 120 IF ABS(O-H)<N AND (D-K)<N THEN PRINT "Iterat.Creee":END
  504. 130 A=A+1:IF A>40 THEN PRINT "To Slow":END
  505. 140 H=O:K=D:GOTO 70
  506. 150 L=O/2:M=O*O+4*D:IF M<0 GOTO 170
  507. 160 Q=L+SQRM/2:PRINT "x=";Q:GOSUB 230: Q=L-SQRM/2:PRINT "x=";Q:GOSUB 230: GOTO 180
  508. 170 PRINT L;CHR$(249);SQR-M/2;"j"
  509. 180 FOR I=2TOG:A(I-2)=B(I):NEXT I:G=G-2:IF G>2 GOTO 60
  510. 190 IF G=1 THEN Q=A(0)/-A(1):PRINT "x=";Q:GOSUB 230:END
  511. 200 L=-A(1)/(2*A(2)):M=A(1)*A(1)-4*A(2)*A(0):IF M<0 GOTO 220
  512. 210 Q=L+SQRM/(2*A(2)):PRINT "x=";Q: GOSUB 230:Q=L-SQRM/(2*A(2)):PRINT "x=";Q:GOSUB 230:END
  513. 220 PRINT L;CHR$(249);SQR-M/(2*A(2)); "j":END
  514. 230 B=0:FOR I=1 TO F:B=B+D(I)*Q^I:NEXT I:B=B+D(0):PRINT "f(x)=";B:RETURN
  515.  
  516.  
  517. **************************************
  518.  
  519. Voici un petit programme d'animation.
  520.  
  521. 10 DIM A$(2):A$(0)="0000100000": A$(1)="0038283800":A$(2)="7C4444447C": FOR I=0 TO 2:DEFCHR$(253+I)=A$(I):NEXT
  522. 20 CLS:FOR I=0 TO 63:PRINT CHR$(255-INT(RAN#*100)MOD3);:NEXT :LOCATE0,0: I=0
  523. 30 DEFCHR$(253)=A$((I+1)MOD3): I=I+1*1*1*1*1*1*1*1:DEFCHR$(254)= A$((I+1)MOD3):I=I+1*1*1*1*1*1*1*0: 
  524. DEFCHR$(255)=A$((I+2)MOD3):GOTO 30
  525. 40 I=I+1:DEFCHR$(253)=A$((I)MOD3): DEFCHR$(254)=A$((I+1)MOD3): DEFCHR$(255)=A$((I+2)MOD3):GOTO 30
  526.  
  527.  
  528. **************************************
  529.  
  530. Programme de conversion base 10<> base N 
  531. (N>1)
  532.  
  533.  
  534. 10 CLS:CLEAR
  535. 20 PRINT "1:(10>N)  2:(N>10)";
  536. 30 INPUT ":",I
  537. 40 IF I=1 THEN 100 ELSE 200
  538. 100 CLS:INPUT " BASE(N):",N," NOMBRE(X):",C
  539. 110 A=N:F=N:B=10
  540. 120 GOTO 300
  541. 200 CLS:INPUT " BASE(N):",N," NOMBRE(X):",C
  542. 210 B=N:A=10:F=0
  543. 300 E=INT(C/A):IF E=0 THEN 330
  544. 310 D=D+(C-E*A)*B^M
  545. 320 C=E:M=M+1:GOTO 300
  546. 330 D=D+C*B^M
  547. 340 IF F=0 THEN 370
  548. 350 PRINT "10>";A;":";D
  549. 360 GOTO 10
  550. 370 PRINT B;">10:";D
  551. 380 GOTO 10
  552.  
  553.  
  554. **************************************
  555.  
  556. Biorythme classique.
  557. Ph:physique, Se:sexe, In:intellectuel
  558. Sachant  que ces ‚tats varient de -10  … 
  559. 10,  et  la flŠche indique si  c'est  en 
  560. phase ascendante ou descendante.
  561.  
  562. 1 REM Biorythme
  563. 2 REM base de donnees: Wtel 24/24 (16) 62.93.74.05
  564. 3 REM
  565. 9 MODE 5
  566. 10 INPUT "DATE NAIS:(jjmmaa):";D$: IF D$="" THEN GOTO 10
  567. 20 J$=MID$(D$,1,2):M$=MID$(D$,3,2): A$=MID$(D$,5,2)
  568. 30 J=VAL(J$):M=VAL(M$):A=VAL(A$)
  569. 40 INPUT "DATE ACTUELLE(jjmmaa):";D$
  570. 50 K$=MID$(D$,1,2):N$=MID$(D$,3,2): B$=MID$(D$,5,2)
  571. 60 K=VAL(K$):N=VAL(N$):B=VAL(B$): D=365*(B-A-1)
  572. 70 U=A+1:IF M<=2 THEN U=A
  573. 80 V=B:IF N>2 THEN V=B+1
  574. 90 FOR I=U TO V:IF FRAC(I/4)=0 THEN D=D+1
  575. 100 NEXT I
  576. 110 IF N<>1 THEN RESTORE 1000:FOR I=1 TO N-1:READ X:D=D+X:NEXT I
  577. 120 D=D+K:RESTORE 1000:FOR I=1 TO M: READ X:NEXT I:D=D+X-J
  578. 130 IF M<>12 THEN RESTORE 1100:FOR I=M+1 TO 12:READ X:D=D+X:NEXT I
  579. 140 RESTORE 1200:CLS:FOR I=1 TO 3: READ D$,T:PRINT D$;
  580. 150 E=FRAC(D/T):PRINT INT(10*SIN (2*PI*E));
  581. 160 Q=SGN(COS(2*PI*E)):D$=CHR$(230): IF Q=1THEN D$=CHR$(227)
  582. 170 IF Q=-1 THEN D$=CHR$(229)
  583. 180 PRINT D$;:IF I<>3 THEN PRINT "  ";
  584. 190 NEXT I:Q$=INPUT$(1):CLS:GOTO 40
  585. 1000 DATA 31,28,31,30,31,30,31,31, 30,31,30,31
  586. 1100 DATA 31,30,31,30,31,31,30,31, 30,31,28,31
  587. 1200 DATA "Ph:",23,"Se:",28,"In:",33
  588.  
  589.  
  590.  
  591. **************************************
  592.  
  593. Programme  d'exploration  de la  RAM  et 
  594. ROM.
  595.  
  596. -  indiquer le mode de recherche  Direct 
  597. ou S‚quentiel.
  598. - S‚quentiel:  tapez -PI pour revenir au 
  599. sommaire,   et   PI   pour   faire   une 
  600. modification dans la m‚moire.
  601. -  Direct:  tapez  -PI pour  revenir  au 
  602. sommaire,   et   PI  pour  modifier   la 
  603. m‚moire.
  604.  
  605.  
  606. 5 VAC:CLS:PRINT TAB(2)"***PROGRAMME D'EXPLORATION***";:LOCATE7,1:PRINT "DE LA MEMOIRE V1.1"
  607. 7 INPUT "EN (D)IRECT OU EN (S)EQUENCES ";H$:IF H$="D" THEN 200 ELSE IF H$<>"S" ;GOTO 5
  608. 10 INPUT "LA RECHERCHE DEBUTE A L'ADRESSE ",ADR:INPUT "QUEL SEGMENT " ;RTC:DEFSEG=RTC
  609. 15 A=PEEK(ADR)
  610. 20 CLS:PRINT "SEG["RTC"] ADR["ADR"]"; :LOCATE 22,0:PRINT "HEXA["HEX$(ADR)"]";
  611. 30 LOCATE0,1:PRINT "CONTENU["CHR$(A)"] ASCII["A"]";
  612. 40 A=0:INPUT ">",A:Z=-3:IF A=PI;GOTO 100 ELSE IF A=Z THEN ADR=ADR-1:GOTO 15
  613. 50 IF A=0;ADR=ADR+1:GOTO 15 ELSE 55
  614. 55 IF A=-PI THEN 5
  615. 60 ADR=A:GOTO 15
  616. 100 CLS:INPUT "MODIFICATION A L'ADRESSE NUMERO ",ADR
  617. 102 X=PEEKADR:PRINT "QUEL NOMBRE FAUT -IL METTRE A LA PLACE DE "X"(";:PRINT CHR$(X)")";:INPUT "";Z:POKE ADR,Z: 
  618. GOTO 15
  619. 200 CLS:INPUT "DE L'ADRESSE ",AA," A L'ADRESSE ",AB," NUMERO DU SEGMENT ",QW:DEFSEG=QW:IF AA=-PI;GOTO 7 ELSE IF 
  620. AA=PI THEN 230
  621. 210 CLS:FOR I=AA TO AB:PRINT CHR$(PEEKI);:NEXT
  622. 220 STOP:GOTO 200
  623. 230 CLS:INPUT "A PARTIR DE QUELLE ADRESSE VA-T-ON POKER ";PO,"QUE VAIS-JE METTRE ";PO$,"A QUEL SEGMENT ";SE: 
  624. DEFSEG=SE
  625. 240 W=LEN(PO$):FOR I=PO TO PO+W: Y=Y+1:L$=MID$(PO$,Y,1):L=ASC(L$): POKE I,L:NEXT:GOTO 200
  626.  
  627.  
  628. **************************************
  629.  
  630. Programme de transformation d'un r‚el en 
  631. fraction. TrŠs rapide !
  632.  
  633.  
  634. 1 REM PROGRAMME DE FRACTION
  635. 2 REM BASE DE DONNEES: WTEL 24/24 (16) 62.93.74.05
  636. 3 REM
  637. 10 Q=0:INPUT "X=";X:H=INT X:Z=FRAC X:L=1:P=1
  638. 20 IF ABS(X-H/P)<=1E-10 THEN PRINT X;"=";H;"/";P:GOTO 10
  639. 30 O=INT(1/Z):Z=FRAC(1/Z):M=H:N=P: H=O*H+L:P=O*P+Q:L=M:Q=N:GOTO 20
  640.  
  641.  
  642. **************************************
  643.  
  644. Nombres al‚atoires.
  645.  
  646. 10 MODE 5:DIM:CLS:ANGLE1
  647. 20 X=RAN#(1):IF X=0 THEN 20
  648. 25 Y=RAN#(1):IF Y=0 THEN 25
  649. 30 X=SQR(-2*LNX):Y=2*PI*Y
  650. 40 Z=X*COSY:GOSUB 60
  651. 50 Z=X*SINY:GOSUB 60:GOTO 20
  652. 60 PRINT TAB(0);Z;:Z$=INPUT$(1,@): RETURN
  653.  
  654.  
  655. **************************************
  656.  
  657. TrŠs   utile  pour  savoir   le   nombre 
  658. d'octets que prennent les programmes  et 
  659. le MEMO.
  660.  
  661.  
  662. 1 REM PROGRAMME DE CALCUL DU NOMBRE D'OCTET
  663. 2 REM BASE DE DONNES: WTEL 24/24 (16) 62.93.74.05
  664. 3 REM
  665. 10 PRINT "Indiquez le numero de la page   que vous voulez tester:";: A$=INPUT$(1):PRINT A$;:IF A$="M" THEN A=11 
  666. ELSE A=VAL(A$)+1
  667. 20 PRINT :A=PEEK1715+256*PEEK1716-15*A:B=PEEK(A+3)+PEEK(A+4)*256-PEEKA-PEEK(A+1)*256-1:PRINT B"Octets":GOTO 10
  668.  
  669.  
  670. **************************************
  671.  
  672. Petit pr‚sentation sympa...
  673.  
  674. 1 REM W-TEL 24H/24
  675. 2 REM 62.93.74.05
  676. 10 ON ERROR GOTO 200:VAC
  677. 20 CLS:INPUT "Donnez le texte:",A$: CLS:A=LEN(A$):B=(32-A)/2:GOSUB 100
  678. 30 FOR X=1 TO A:LOCATE B,0: B=B+1: P$=MID$(A$,X,1):PRINT P$;:GOSUB 100: NEXT: LOCATE B,0:PRINT "."
  679. 50 GOTO 10
  680. 100 DEFCHR$(252)="0101FF0101"
  681. 110 DEFCHR$(253)="4121110905"
  682. 130 FOR I=1 TO 5
  683. 140 LOCATE B,0:PRINT "-";:LOCATE B,0: PRINT "/";: LOCATE B,0: PRINT CHR$(252); : LOCATE B,0 :PRINT CHR$(253);: 
  684. NEXT :RETURN :END
  685. 200 PRINT "Error,trop long";:FOR E=0 TO 300:NEXT :GOTO 10
  686.  
  687.  
  688. **************************************
  689.  
  690. Voici  le  pro des  pro:  Transfert  des 
  691. programmes LIB en P0.
  692. Mais  attention  !  Ne modifiez  pas  le 
  693. programme  transf‚r‚ en P0 car c'est  le 
  694. plantage d‚finitif de votre Casio !
  695. Tapez  ce programme ailleur qu'en P0  et 
  696. suivez les instructions.
  697.  
  698. Je vous rappelle que si vous d‚sirez  le 
  699. listing d'un programme de la LIB envoyez 
  700. moi une enveloppe timbr‚e...
  701.  
  702.  
  703. 1 REM BASE DE DONNEES: WTEL 24/24 (16) 62.93.74.05
  704. 2 REM pour retablir P0:
  705. 3 REM poke adr,ld
  706. 4 REM poke adr+1,hd
  707. 5 REM poke adr+2,0
  708. 6 REM poke adr+3,lf
  709. 7 REM poke adr+4,hf
  710. 8 REM poke adr+5,0
  711. 9 REM
  712. 10 REM TRANSFERT D'UN PROGRAMME DE LA LIB EN P0
  713. 20 INPUT "Numero de Lib:";N$
  714. 30 DEFSEG=0: ADR=PEEK1715 + PEEK1716*256-15
  715. 40 DN=PEEK1718 + PEEK1719*256 + PEEK1720*65536
  716. 50 FN=PEEK1724 + PEEK1725*256 + PEEK1726*65536
  717. 60 FOR J=DN TO FN-15 STEP 15: DEFSEG=J/16: OF=J-INT(J/16)*16+6
  718. 70 FOR K=1 TO LEN(N$): IF ASC (MID$(N$,K)) = PEEK(K+OF) THEN NEXT K: GOTO 100
  719. 80 NEXT J:PRINT "Non trouve":END
  720. 100 REM P0 SAUVEGARDE, TRANSFERT PROGRAMME EN P0
  721. 110 DEFSEG=0:IF PEEK(ADR+2)=0 THEN LD=PEEK ADR: HD=PEEK(ADR+1): LF=PEEK(ADR+3): HF=PEEK(ADR+4)
  722. 120 FOR K=0 TO 5: DEFSEG=J/16: BYTE=PEEK(K+J-INT(J/16)*16): DEFSEG=0: POKE ADR+K,BYTE: NEXT K
  723.  
  724. **************************************
  725.  
  726. Pour voir le pass de votre Casio
  727.  
  728. 10 PRINT "PASS [";:FOR I=1867 TO 1874: DEFSEG=0: PRINT CHR$(PEEKI);: NEXT: PRINT "]"
  729.  
  730. **************************************
  731.  
  732. Petit  programme qui  d‚veloppe  (a+b)^n 
  733. avec n<10
  734. (Source Laurent Lechelle)
  735.  
  736. 10 CLEAR:PRINT "(a+b)";CHR$(156);"=...   ";:INPUT"n=",N:IF N>9 THEN 10 ELSE PRINT"(a+b)";CHR$(144+N);"=";:FOR 
  737. A=0 TO N:PRINTNCR(N,A);"a";CHR$(8-(N-A<>0)*(136+N- A);"b";CHR$(8-(A<>0)*(136+A));" +";:NEXT A:PRINTCHR$(8):GOTO 
  738. 10
  739.  
  740. **************************************
  741.  
  742.  
  743.          PROGRAMMES  FX   CASIO
  744.  6000G - 7000G - 7500G - 8000G - 8500G
  745.  
  746.               FICHE Nø 13                              
  747.           PAR LAURENT LECHELLE
  748.  
  749. Mcl : Rad : Defm 12 : jour->K : mois->N
  750. (ann‚e sur 4 chiffres)->B : "BIORYTHMES" : Lbl 0 : 0->C
  751. 23->E[1] : 28->E[2] : 33->E[3] : 0->Z[1] : 31->Z[2]
  752. 59.25->Z[3] : 90.25->Z[4] : 120.25->Z[5] : 151.25->Z[6]
  753. 181.25->Z[7] : 212.25->Z[8] : 243.25->Z[9] : 273.25->Z[10]
  754. 304.25->Z[11] : 334.25->Z[12]
  755. "Date de naissance"?->J : ?->M : ?->A
  756. 365.25(B-A)+Z[N]-Z[M]+K-J->R
  757. Lbl 1 : C+1->C : Range -pi,pi,2pi/E[C],-1,1,.1
  758. (R-E[C]Int (R/E[C]))*2pi/E[C]->S Ý
  759. Graph Y=sin (X+S)Ý     C<>=>Goto 1:Goto 0
  760.  
  761. 339 pas
  762.  
  763. symboles utilis‚s:   pi … remplacer  par 
  764. le vrai signe de pi
  765.                       Ý … remplacer  par 
  766. le triangle au dessus de la touche ":"
  767.                     <> …  remplacer  par 
  768. diff‚rent (= barr‚)
  769.  
  770.   Entrez dans le programme  les  donn‚es 
  771. concernant le jour,  le mois et l'ann‚e. 
  772. Puis lancez ensuite le programme. Entrez 
  773. le  jour,  le  mois et  l'ann‚e  (sur  4 
  774. chiffres)  de  la  personne  dont   vous 
  775. voulez  connaitre le  Biorythme.  Les  3 
  776. courbes  qui apparaissent  d‚crivent  la 
  777. forme  physique,  puis  la  sensibilit‚, 
  778. puis la forme intellectuelle (ce qui est 
  779. diff‚rent  de  l'intelligence...).   Les 
  780. r‚sultats  sont donn‚s entre -10 et  +10 
  781. (axe des ordonn‚es). L'axe des abscisses 
  782. repŠre la date de jour. Vous pouvez donc 
  783. visualiser  votre Biorythme plusieurs  … 
  784. l'avance...sachant  qu'un graduation  de 
  785. cet axe repr‚sente une journ‚e.
  786.  
  787.  
  788.  
  789. ******************************
  790.  
  791. Programme pour que PIELB trouve sa bien-
  792. aim‚e
  793.  
  794. 10 CLS:CLEAR :INPUT "TA DATE ",D$
  795. 20 J=VAL(MID$(D$,1,2)):M=VAL(MID$(D$,3,2)):A=VAL(MID$(D$,5,2))
  796. 50 LOCATE 0,1:INPUT "SA DATE ",E$
  797. 60 K=VAL(MID$(E$,1,2)):N=VAL(MID$(E$,3,2)):B=VAL(MID$(E$,5,2))
  798. 70 S=J+69:T=K+69:U=M+88:V=N+88
  799. 80 X=S+T:Y=U+V:Z=A+B
  800. 90 X=X/3:Y=Y/4:Z=Z/3
  801. 95 CLS:SETF2:PRINT "AMOUR "X"%  SEXE "Y"%";:LOCATE0,1:PRINT "PH & IN "Z"%":W=((X+Y+Z)/3):CLS:LOCATE0,0:PRINT 
  802. "TOTAL:"W"%":SETN:GOTO 50
  803.  
  804. ******************************
  805.  
  806. Programme de cr‚ation de caractŠres.
  807. Le code Hexa est stock‚ en IN/OUT.
  808. INS pour inverser le point
  809. Les flŠches pour se d‚placer
  810. I pour faire une inversion vid‚o
  811. EXE pour quitter et sauver le code Hexa
  812. (Source Laurent Lechelle)
  813.  
  814.  
  815. 10 PRINT "CREATION DE MATRICES";:FOR I=1 TO 7:PRINT:PRINT ".....";I;" (";CHR$(255);")";:NEXT I:LOCATE 0,0
  816. 15 X=0:Y=1:F=0:ERASE A,T$:DIM A(4,7),T$(4):FOR I=0 TO 4:T$(I)="00":NEXT I:DEFCHR$(255)="0000000000"
  817. 20 A$=INKEY$:IF A$="" THEN LOCATE X,Y:PRINT CHR$(32+F*(14-89*(A(X,Y)=1)));:F=1-F:GOTO 20 ELSE A=ASC(A$)
  818. 25 LOCATE X,Y:PRINT CHR$(46-89*(A(X,Y)=1));
  819. 30 IF A=28 AND X<4 THEN X=X+1
  820. 31 IF A=29 AND X>0 THEN X=X-1
  821. 32 IF A=30 AND Y>1 THEN Y=Y-1
  822. 33 IF A=31 AND Y<7 THEN Y=Y+1
  823. 34 IF A=13 THEN 60
  824. 35 IF A=18 THEN GOSUB 40:A=28:GOTO 30
  825. 36 IF A=73 THEN XX=X:FOR X=0 TO 4:FOR J=1 TO 7:LOCATE X,J:A(X,J)=1-A(X,J):PRINT CHR$(46-89*(A(X,J)=1));:NEXT 
  826. J:GOSUB 50:NEXT X:X=XX
  827. 37 GOTO 20
  828. 40 A(X,Y)=1-A(X,Y):LOCATE X,Y:PRINT CHR$(46-89*(A(X,Y)=1));
  829. 50 T=0:FOR I=1 TO 7:T=T-(A(X,8-I)=1)*2^I:NEXT 
  830. I:T$(X)=RIGHT$(HEX$(T),2):DEFCHR$(255)=T$(0)+T$(1)+T$(2)+T$(3)+T$(4):RETURN
  831. 60 CLS:CALC$=CHR$(34)+T$(0)+T$(1)+T$(2)+T$(3)+T$(4)+CHR$(34):ERASE T$,A
  832.  
  833.  
  834. ****************************
  835. Les programmes pour graphiques sont dans 
  836. le Volume 3
  837.  
  838.          PROGRAMMES  FX   CASIO
  839.              8000G - 8500G
  840.  
  841.               FICHE Nø 14                              
  842.            PAR PIERRE HOUSSIN
  843.  
  844. Premier programme (prog 0)
  845.  
  846. Mcl : Deg : Range 1->95,0,1->63,0
  847. Lbl 0 : Isz E : Int 20Ran#+20->I : Int 21Ran#+20->J
  848. Int 13Ran#+20->S : Int 10Ran#+20->T
  849. Lbl 4 : Int 68Ran#+26->A : Int 10Ran#+52->B
  850. I<=A => A<=I+S => J<=B => B<=J+T => Goto 4
  851. Plot A,B : 0->H : 12->C : 25->D
  852. Lbl 1 : Cls : Prog 1 : Plot A,B : Plot C,DÝ
  853. X->C : Y->D : Isz H : H>=20 => Goto 4
  854. "ANGLE"?->Z : "FORCE"?->L
  855. Lbl 2 : L-1->L : L<0 => Goto 1
  856. sin Z->F : cos Z->G : C+G->C : D+F->D : Plot C,D
  857. C>94 => Goto 5 : D>62 => Goto 5 : C<2 => Goto 5 : D>11 => Goto 5
  858. A=C => B=D => Goto 6
  859. Lbl 7 : C>=I => Goto 3 : L>=0 => Goto 2 : Goto 1
  860. Lbl 3 : I<=C => C<=I+J => J<=D => D<=J+T => Goto 5 : Goto 2
  861. Lbl 5 : "PERDU=" : PÝ        Prog 0
  862. Lbl 6 : L>5 => Goto 7 : P+S-H->P : "GAGNE=" : PÝ  E<12 => Goto 0
  863. " FIN DU GREEN   TOTAL:" : PÝ
  864. Prog 0
  865.  
  866.  
  867. Second programme (prog 1)
  868.  
  869. Plot I,J : Plot I+S,J : Line : Plot I+S,J+T : Line
  870. Plot I,J+T : Line : Plot I,J : Line
  871. Plot 1,10 : Plot 95,10 : Line : Plot 95,63 : Line
  872. Plot 1,63 : Line : Plot 1,10 : Line  longueur totale : 704 pas
  873.  
  874. symboles utilis‚s:   pi … remplacer  par 
  875. le vrai signe de pi
  876.                       Ý … remplacer  par 
  877. le triangle au dessus de la touche ":"
  878.                     <> …  remplacer  par 
  879. diff‚rent (= barr‚)
  880.                     <=,  >= …  remplacer 
  881. respectivement par inf‚rieur ou ‚gal  et 
  882. sup‚rieur ou ‚gal
  883.  
  884.   Vous pouvez taper ces deux  programmes 
  885. dans  la zone fichiers de votre  machine 
  886. pour   cela  nomez  les   respectivement 
  887. "GOLF"  et "GOLF1",  puis remplacez  les 
  888. instructions  Prog 0 et Prog 1  par  les 
  889. instructions   Prog   "GOLF"   et   Prog 
  890. "GOLF1".
  891.  
  892. **************************
  893.  
  894. C'est  tout pour  l'instant,  mais  vous 
  895. pouvez   m'en   envoyer   …    l'adresse 
  896. suivante:
  897.  
  898.           Saint-Cricq William
  899.           9 R‚sidence Bel Air
  900.               65000 TARBES
  901.  
  902.  
  903.  
  904. Je remercie PIELB pour ses programmes et 
  905. son  animation de la rubrique Casio  sur 
  906. W-Tel, pour le contacter : Bal PIELB sur 
  907. W-Tel.
  908.  
  909. ATTENTION:  CES  PROGRAMMES  NE  PEUVENT 
  910. ETRE VENDUS.  ILS SONT DU DOMAINE PUBLIC 
  911. ET SONT DISTRIBUES PAR W-TEL. 
  912.  
  913.